import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px
import plotly.graph_objects as go
data=pd.read_csv('apple_products.csv')
pd.DataFrame(data)
| Product Name | Product URL | Brand | Sale Price | Mrp | Discount Percentage | Number Of Ratings | Number Of Reviews | Upc | Star Rating | Ram | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | APPLE iPhone 8 Plus (Gold, 64 GB) | https://www.flipkart.com/apple-iphone-8-plus-g... | Apple | 49900 | 49900 | 0 | 3431 | 356 | MOBEXRGV7EHHTGUH | 4.6 | 2 GB |
| 1 | APPLE iPhone 8 Plus (Space Grey, 256 GB) | https://www.flipkart.com/apple-iphone-8-plus-s... | Apple | 84900 | 84900 | 0 | 3431 | 356 | MOBEXRGVAC6TJT4F | 4.6 | 2 GB |
| 2 | APPLE iPhone 8 Plus (Silver, 256 GB) | https://www.flipkart.com/apple-iphone-8-plus-s... | Apple | 84900 | 84900 | 0 | 3431 | 356 | MOBEXRGVGETABXWZ | 4.6 | 2 GB |
| 3 | APPLE iPhone 8 (Silver, 256 GB) | https://www.flipkart.com/apple-iphone-8-silver... | Apple | 77000 | 77000 | 0 | 11202 | 794 | MOBEXRGVMZWUHCBA | 4.5 | 2 GB |
| 4 | APPLE iPhone 8 (Gold, 256 GB) | https://www.flipkart.com/apple-iphone-8-gold-2... | Apple | 77000 | 77000 | 0 | 11202 | 794 | MOBEXRGVPK7PFEJZ | 4.5 | 2 GB |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 57 | APPLE iPhone SE (Black, 64 GB) | https://www.flipkart.com/apple-iphone-se-black... | Apple | 29999 | 39900 | 24 | 95909 | 8161 | MOBFWQ6BR3MK7AUG | 4.5 | 4 GB |
| 58 | APPLE iPhone 11 (Purple, 64 GB) | https://www.flipkart.com/apple-iphone-11-purpl... | Apple | 46999 | 54900 | 14 | 43470 | 3331 | MOBFWQ6BTFFJKGKE | 4.6 | 4 GB |
| 59 | APPLE iPhone 11 (White, 64 GB) | https://www.flipkart.com/apple-iphone-11-white... | Apple | 46999 | 54900 | 14 | 43470 | 3331 | MOBFWQ6BVWVEH3XE | 4.6 | 4 GB |
| 60 | APPLE iPhone 11 (Black, 64 GB) | https://www.flipkart.com/apple-iphone-11-black... | Apple | 46999 | 54900 | 14 | 43470 | 3331 | MOBFWQ6BXGJCEYNY | 4.6 | 4 GB |
| 61 | APPLE iPhone 11 (Red, 64 GB) | https://www.flipkart.com/apple-iphone-11-red-6... | Apple | 46999 | 54900 | 14 | 43470 | 3331 | MOBFWQ6BYYV3FCU7 | 4.6 | 4 GB |
62 rows × 11 columns
data.isnull().sum()
Product Name 0 Product URL 0 Brand 0 Sale Price 0 Mrp 0 Discount Percentage 0 Number Of Ratings 0 Number Of Reviews 0 Upc 0 Star Rating 0 Ram 0 dtype: int64
data.describe()
| Sale Price | Mrp | Discount Percentage | Number Of Ratings | Number Of Reviews | Star Rating | |
|---|---|---|---|---|---|---|
| count | 62.000000 | 62.000000 | 62.000000 | 62.000000 | 62.000000 | 62.000000 |
| mean | 80073.887097 | 88058.064516 | 9.951613 | 22420.403226 | 1861.677419 | 4.575806 |
| std | 34310.446132 | 34728.825597 | 7.608079 | 33768.589550 | 2855.883830 | 0.059190 |
| min | 29999.000000 | 39900.000000 | 0.000000 | 542.000000 | 42.000000 | 4.500000 |
| 25% | 49900.000000 | 54900.000000 | 6.000000 | 740.000000 | 64.000000 | 4.500000 |
| 50% | 75900.000000 | 79900.000000 | 10.000000 | 2101.000000 | 180.000000 | 4.600000 |
| 75% | 117100.000000 | 120950.000000 | 14.000000 | 43470.000000 | 3331.000000 | 4.600000 |
| max | 140900.000000 | 149900.000000 | 29.000000 | 95909.000000 | 8161.000000 | 4.700000 |
# now we will find top 10 highest rated i phones
highest_rated=data.sort_values(by=['Star Rating'],ascending=False)
highest_rated=highest_rated.head(10)
print(highest_rated['Product Name'])
20 APPLE iPhone 11 Pro Max (Midnight Green, 64 GB) 17 APPLE iPhone 11 Pro Max (Space Grey, 64 GB) 16 APPLE iPhone 11 Pro Max (Midnight Green, 256 GB) 15 APPLE iPhone 11 Pro Max (Gold, 64 GB) 14 APPLE iPhone 11 Pro Max (Gold, 256 GB) 0 APPLE iPhone 8 Plus (Gold, 64 GB) 29 APPLE iPhone 12 (White, 128 GB) 32 APPLE iPhone 12 Pro Max (Graphite, 128 GB) 35 APPLE iPhone 12 (Black, 128 GB) 36 APPLE iPhone 12 (Blue, 128 GB) Name: Product Name, dtype: object
# now we will visualize no. of ratings of highest rated iphones
iphones=highest_rated['Product Name'].value_counts()
# print(iphones)
iphones=highest_rated['Product Name']
lables=iphones
counts=highest_rated['Number Of Ratings']
figure=px.bar(highest_rated, x=lables, y=counts)
figure.show()
# now we will visualize no. of reviews of highest rated iphones
iphones=highest_rated['Product Name'].value_counts()
iphones=highest_rated['Product Name']
lables=iphones
counts=highest_rated['Number Of Reviews']
figure=px.bar(highest_rated, x=lables, y=counts,title='no. of reviews of highest rated iphones')
figure.show()
# sales price and no. of ratings
fig=px.scatter(data_frame=data,x='Number Of Ratings',y='Sale Price',size='Discount Percentage',
trendline='ols',title='relationship b/w sales price and no. of rating')
fig.show()
# dis percentage and no. of rating
fig=px.scatter(data_frame=data,x='Number Of Ratings',y='Discount Percentage',
size='Sale Price',trendline='ols',title='relation between discount percentage and no. of ratings')
fig.show()